    //获取express包
    var express=require('express')
    var fs=require('fs');
    var path=require('path');
    //实例化一个子路由对象用来管理一部分后端路由
    var userRouter=express.Router()


    //分页
    userRouter.get( '/list', (req,res)=>{
    //获取get类型请求的参数：req.query
    var {page,count}= req.query;

    //读取users.json文件中的用户数据
    var filepath=path.join(__dirname,'../json/users.json')
    var arr=fs.readFileSync(filepath);
    arr=arr.toString()?JSON.parse( arr ):[]

    //分页
    var newarr=arr.slice((page-1)*count,page*count);
    //返回数据
    res.send({code:200,msg:'请求成功！',list:newarr })

    })
    //上一页
    
    //模糊搜索
    userRouter.get('/search',(req,res)=>{
    var {searchkey }=req.query;
    //接收参数
    var { searchkey }=req.query;

    //读取users.json文件中的用户数据

    var filepath = path.join(__dirname,'../json/users.json' );
    var arr=fs.readFileSync(filepath);
    arr=arr.toString()?JSON.parse( arr ):[]

    //根据参数，从用户的name属性中过滤
    var newarr=arr.filter((item)=>{
        return item.name.includes(searchkey)
    })
    //返回数据
    res.send( { code:200,msg:'查询成功！',list:newarr })
    
    })

    //登录
    userRouter.post('/login',(req,res)=>{
    //想要接收post类型请求的参数 必须提前设置能解析post请求参数的中间件 express.json 和 express.urlencoded
    var {phone,pass}=req.body;

    //读取users.json文件中的用户数据
    var filepath = path.join( __dirname, '../json/users.json' );
    var arr = fs.readFileSync(filepath);
    arr = arr.toString()?JSON.parse( arr ): []

    //用来自客户端的数据做判断，判断是否在服务端的用户列表中
    var i = arr.findIndex((item,index)=>{
        return item.phone == phone && item.pass == pass
    })
    //如果i不是-1，则说明来自客户端的数据是合法的
    if(i!=-1){
        res.send({code:200,msg:'登录成功！',userinfo:arr[i],token:''} )
        //登录成功时，一并返回登录成功的用户信息，登录令牌
    }else{
        res.send( {code:400,msg:'登录失败！'} )
    }
    } )

    //注册
    userRouter.post('/register',(req,res)=>{
    var { phone }=req.body;//请求体中携带phone,pass,email,name
    //读取users.json文件中的用户数据
    var filepath = path.join( __dirname, '../json/users.json' );
    var arr = fs.readFileSync(filepath);
    arr = arr.toString()?JSON.parse( arr ): []

    //判断新用户是否已经存在
    var i=arr.findIndex((item)=>{
        return item.phone==phone;
    });

    if(i!=-1){
        res.send({ code:400,msg:'该手机号已注册，注册失败'})
    }else{
        arr.push({...req.body,ingroup:'编辑组',isadmin:true,status:true} );
        fs.writeFileSync(filepath,JSON.stringify( arr ),'utf8');
        res.send({ code:200,msg:'注册成功！'})
    }
    })
    //删除
    userRouter.post( '/delete' ,(req,res)=>{
        //获取手机号 参数
        var {phone} = req.body;
    
        //读取users.json文件中的用户数据
        var filepath = path.join( __dirname, '../json/users.json' );
        var arr = fs.readFileSync(filepath);
        arr = arr.toString()?JSON.parse( arr ): []
    
        //在arr中查找手机号对应的用户
        var i = arr.findIndex((item)=>{
            return item.phone == phone;
        })
        if( i != -1 ){ //条件成立, 说明 找到了需要删除的用户.它在arr中的下标是 i
            arr.splice( i, 1 );
            fs.writeFileSync(filepath, JSON.stringify( arr ), 'utf8' );
            //分页
            var newarr = arr.slice( 0, 2 );
            //返回删除后,第1页的新数据
            res.send({ code:200,msg:'删除成功!',list: newarr })
        }else{
            res.send({ code:400,msg:'删除失败!' })
        }
    })


    //导出子路由文件
    module.exports=userRouter;